package entity

type state uint8

var (
	// 已删除
	StateDeleted state = 0
	// 未发布
	StateUnpublished state = 1
	// 已发布
	StatePublished state = 2
	// 字典
	StateDictionary map[state]string = map[state]string{
		StateDeleted:     "已删除",
		StateUnpublished: "未发布",
		StatePublished:   "已发布",
	}
)

type morphology string

var (
	// 单选题
	MorphologySingletonChoice morphology = "singleton_choice"
	// 多选题
	MorphologyMultiChoice morphology = "multi_choice"
	// 判断题
	MorphologyJudge morphology = "judge"
	// 填空题
	MorphologyFilling morphology = "filling"
	// // 连线题。在客观题中，结构相对复杂，有选项，答案为选项与选项的映射。
	// MorphologyMatching morphology = "matching"
	// 简/问答题
	MorphologySummary morphology = "summary"
	// 作文题
	MorphologyComposition morphology = "composition"
	// 组合题。类似阅读理解类的题目，以一个引文开始，然后由此衍生出多个常规小题。小题之间或没有关联，但与引文息息相关。
	MorphologyAssembly morphology = "assembly"
	// 字典
	MorphologyDictionary map[morphology]map[string]any = map[morphology]map[string]any{
		MorphologySingletonChoice: {
			"title":       "单选题",
			"description": "以一个选项为正确答案的选择题，答案标记在选项上，顺序可自行调整。"},
		MorphologyMultiChoice: {
			"title":       "多选题",
			"description": "以一个或多个选项为正确答案的选择题，答案标记在选项上，顺序可自行调整。"},
		MorphologyJudge: {
			"title":       "判断题",
			"description": "根据题干信息判断对错的题目。无选项。"},
		MorphologyFilling: {
			"title":       "填空题",
			"description": "在题干中留出空格、下划线或括号，要求学生填补空白部分内容作为答案。空白部分的内容不宜过长，否则答题者填写的内容将过于主观，不利于批阅评分。"},
		// MorphologyMatching: {
		// 	"title":       "连线题",
		// 	"description": "有选项。答题者根据题干提示，对选项进行一对一、一对多、多对多的连线。"},
		MorphologySummary: {
			"title":       "简/问答题",
			"description": "简/问答题"},
		MorphologyComposition: {
			"title":       "作文题",
			"description": "作文题"},
		MorphologyAssembly: {
			"title":       "组合题",
			"description": "组合题"},
	}
)
